home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 081 / oecc_106.arc / OECC.DOC < prev    next >
Text File  |  1987-09-12  |  11KB  |  361 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.           OOOOOOOOOOOOO    OOOOOOOOOOOOO     OOOOOOOOOOOOO    OOOOOOOOOOOOO
  14.           OO         OO    OO                OO               OO
  15.           OO         OO    OO                OO               OO
  16.           OO         OO    OO                OO               OO
  17.           OO         OO    OO                OO               OO
  18.           OO         OO    OOOOOOOOOO        OO               OO
  19.           OO         OO    OO                OO               OO
  20.           OO         OO    OO                OO               OO
  21.           OO         OO    OO                OO               OO
  22.           OO         OO    OO                OO               OO
  23.           OOOOOOOOOOOOO    OOOOOOOOOOOOO     OOOOOOOOOOOOO    OOOOOOOOOOOOO
  24.  
  25.  
  26.  
  27.  
  28.                           The High Touch Language Compiler
  29.                                     Version 1.00
  30.  
  31.  
  32.                                by George A. Stanislav
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.             Copyright (C) 1987, George A. Stanislav. All Rights Reserved.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.                                           1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.           OECC, Version 1.00                           George A. Stanislav
  68.  
  69.  
  70.  
  71.  
  72.                                     What is OECC?
  73.                                     =============
  74.  
  75.                If you have not read OECL.DOC, please do. It describes Opus
  76.           Embedded Command Language. OECC (Opus Embedded Command Compiler)
  77.           is a compiler for OECL.
  78.  
  79.                In Other words, OECC takes a text file containing OECL
  80.           tokens as its input. It processes the tokens, replacing them by
  81.           OEC and oANSI codes. It sends the text with the embedded commands
  82.           to the output. It will not modify the input. Unless of course you
  83.           want the output to go to the input file. But you probably do not
  84.           want to do that. It would not work properly.
  85.  
  86.                        Is OECC a full implementation of OECL?
  87.                        ======================================
  88.  
  89.                Yes, with one exception: Version 1.00 does not support
  90.           labels. It does compile the [goto] token properly but will not
  91.           insert a label.
  92.  
  93.                                  How do I use OECC?
  94.                                  ==================
  95.  
  96.                There are two ways of doing it. The first is:
  97.  
  98.                     oecc infile outfile
  99.  
  100.           where infile is the name of the input file containing OECL
  101.           tokens, outfile will be the file where you want OECC to send its
  102.           output. If a file of that name already exists, OECC will
  103.           overwrite it.
  104.  
  105.                The second way:
  106.  
  107.                     oecc infile
  108.  
  109.           In this case, OECC will read its input from infile and send its
  110.           output to the screen.
  111.  
  112.                                 What is MONITOR.EXE?
  113.                                 ====================
  114.  
  115.                A modified version of Wynn Wagner's program TESTVID.EXE. The
  116.           only difference is that TESTVID takes its input from a file,
  117.           MONITOR from stdin. Therefore, MONITOR can be used for piping.
  118.  
  119.  
  120.                                           2
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.           OECC, Version 1.00                           George A. Stanislav
  128.  
  129.  
  130.                         Can you explain how to use "piping"?
  131.                         ====================================
  132.  
  133.                Several sample files containing OECL tokens came in the .ARC
  134.           file with OECC. All of them have the extension .OEC. They are not
  135.           meant to create flashy screens, just give you an idea how to use
  136.           OECL. The one called OECTEST.OEC was used to alpha test OECC. You
  137.           can try to see what OECC does with it in three steps.
  138.  
  139.                1. Type:
  140.  
  141.                     oecc oectest.oec
  142.  
  143.                OECC will read the file OECTEST.OEC, compile it and send the
  144.           output to the screen. It will warn you if there are any unknown
  145.           tokens in the file.
  146.  
  147.                2. The output of point 1 consists mostly of control
  148.           characters and does not give you an idea what Opus will do with
  149.           it. That's where the piping is useful. Try this:
  150.  
  151.                     oecc oectest.oec  | monitor
  152.  
  153.                The pipe symbol `|' (not `:') will take the screen output of
  154.           OECC and convert it into the input of MONITOR.EXE which in turn
  155.           will convert oANSI into ANSI and send it to your screen. Make
  156.           sure you have ANSI.SYS properly installed.
  157.  
  158.                3. Now you may want to play with oectest.oec and try to
  159.           improve it. It is not quite perfect, to give you something to
  160.           experiment with. Once steps 1 and 2 give you satisfactory
  161.           results, type:
  162.  
  163.                     oecc oectest.oec oectest.bbs
  164.  
  165.           OECTEST.BBS is a file that can be used with Opus.
  166.  
  167.                              Can I give OECC to others?
  168.                              ==========================
  169.  
  170.                Yes, as long as these conditions are met:
  171.  
  172.                1. You will give them the whole package contained in
  173.           OECC_100.ARC. That includes the .ARC file itself.
  174.  
  175.                2. You will not charge them for OECC.
  176.  
  177.                3. Companies that sell diskettes with Public Domain programs
  178.           are expressly prohibited to distribute OECC. OECC is not in
  179.  
  180.                                           3
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.           OECC, Version 1.00                           George A. Stanislav
  188.  
  189.  
  190.           public domain. It is copyrighted by George A. Stanislav.
  191.  
  192.                              Do I have to pay for OECC?
  193.                              ==========================
  194.  
  195.                Not in the connection with your own personal use. Not in the
  196.           connection with a Church related use (any denomination).
  197.  
  198.                On the other hand, corporate and governmental users must not
  199.           use OECC without first sending $10 to George A. Stanislav, P.O.
  200.           Box 129, Natrona Heights, PA 15065, for each copy of OECC they
  201.           use. The same restriction applies to hospitals.
  202.  
  203.                               Why is OECC.EXE so small?
  204.                               =========================
  205.  
  206.                OECC was written in assembly language to give it speed and
  207.           small size.
  208.  
  209.                        Do I need a database to work with OECC?
  210.                        =======================================
  211.  
  212.                No need for a database. All the data it needs has been
  213.           placed in the program itself. Because of that you can use OECC
  214.           from anywhere on your system as long as OECC.EXE is in a
  215.           directory pointed to by PATH, or you use the proper path in front
  216.           of oecc (e.g., c:\opus\util\oecc bulletin.oec bulletin.bbs).
  217.  
  218.            Do the input and output file have to be in the same directory?
  219.            ==============================================================
  220.  
  221.                They can be anywhere on the system. You can use something
  222.           like this:
  223.  
  224.                c:\opus\util\oecc d:\oecc\bulletin.oec a:\misc\bulletin.bbs
  225.  
  226.                What do I do when new versions of Opus add more codes?
  227.                ======================================================
  228.  
  229.                Get a new version of OECC which will include the new codes.
  230.           OECL (the language) will be expanded whenever needed.
  231.  
  232.           oANSI has a code to compress repeat characters. Why does OECL not
  233.           =================================================================
  234.                                have a token for that?
  235.                                ======================
  236.  
  237.                No token is needed! OECC compresses a group of four or more
  238.           equal characters automatically.
  239.  
  240.                                           4
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.           OECC, Version 1.00                           George A. Stanislav
  248.  
  249.  
  250.  
  251.                   Will 26 equal characters place a ^Z in the code?
  252.                   =================================================
  253.  
  254.                While that would be the correct oANSI code, testing has
  255.           shown that ^Z even as a part of the oANSI control code would make
  256.           Opus believe it has arrived at the end of the file. Therefore,
  257.           any group of 26 characters will be treated as one character plus
  258.           a group of 25 characters. Of course, groups of more than 26 equal
  259.           characters will be compressed to just three bytes. Only groups of
  260.           exactly 26 equal characters will be compressed to 4 bytes - to
  261.           avoid ^Z.
  262.  
  263.            I placed "[sline][lightgreen]Hi sysop" in the file. Why did it
  264.            ==============================================================
  265.                             say "Hi sysop" to all users?
  266.                             ============================
  267.  
  268.                That is an idiosyncrasy in oANSI. The oANSI code for
  269.           [lightgreen] is ^V^A^J. But ^J is the code for line feed (end of
  270.           line). When Opus reads the code for [sline] and the caller is
  271.           bellow sysop level, it reads the rest of the line but does not
  272.           check if the characters are a part of the control codes.
  273.           Therefore, it interprets the ^J as the end of the line. It
  274.           believes "Hi sysop" is on a different line and displays it. A
  275.           possible solution is by placing the color code BEFORE [sline],
  276.           like this:
  277.  
  278.                "[lightgreen][sline]Hi, sysop."
  279.  
  280.           Better yet, do not use light green color at a line which is to be
  281.           displayed only to certain access levels.
  282.  
  283.                           What computers does OECC work at?
  284.                           =================================
  285.  
  286.                OECC was written on a Tandy 1000, an IBM compatible
  287.           computer. It uses no direct access to the hardware. Therefore, it
  288.           should work on any MS/PC DOS computer. Please report any
  289.           incompatibilities to the author. But I really do not expect any.
  290.  
  291.                           What kind of warranties do I get?
  292.                           =================================
  293.  
  294.                Are you kidding? No warranty expressed or implied, except
  295.           that it has been working fine on my computer as well as those of
  296.           the beta testers.
  297.  
  298.  
  299.  
  300.                                           5
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.           OECC, Version 1.00                           George A. Stanislav
  308.  
  309.  
  310.  
  311.                                  What about support?
  312.                                  ===================
  313.  
  314.                You can try. Send me matrix mail to 129/39. If I can I will
  315.           answer. No guarantee though.
  316.  
  317.  
  318.  
  319.  
  320.  
  321.                                    <<<< * * * >>>>
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.                                           6
  361.